/* =========================================================
   ШАПКА УРОКА НА ТЕЛЕФОНЕ (браузер):
   заголовок и тема сверху · ← на главную → снизу
   ========================================================= */
@media (max-width:680px){
  body .lesson-header-block.enl-lesson-header{
    padding:16px 16px 14px !important; border-radius:22px !important;
  }
  body .lesson-header-block.enl-lesson-header::before{
    display:block !important; font-size:22px !important; line-height:1.15 !important;
    margin:0 !important; padding:0 !important; text-align:left !important;
  }
  body .enl-lesson-header .header-view{ margin:0 !important; }
  body .enl-lesson-header .header-view .text-center{ padding:4px 0 0 !important; text-align:left !important; }
  body .enl-lesson-header .lesson-description-value{
    display:block; font-size:13px !important; line-height:1.35 !important; text-align:left !important;
  }

  body .enl-lesson-header .lesson-navigation{ margin:12px 0 0 !important; }
  body .enl-lesson-header .lesson-navigation table{ width:100% !important; margin:0 !important; }
  body .enl-lesson-header .lesson-navigation tr{ display:flex !important; align-items:center; gap:8px; }
  body .enl-lesson-header td.enl-lesson-nav-cell{
    display:block !important; width:auto !important; padding:0 !important; margin:0 !important; flex:0 0 56px;
  }
  body .enl-lesson-header td.enl-lesson-nav-cell.text-center{ flex:1 1 auto; min-width:0; }

  body .enl-lesson-header a.enl-lesson-nav-button{
    height:38px !important; min-height:38px !important; margin:0 !important; padding:0 !important;
    border-radius:999px !important; box-shadow:none !important; justify-content:center !important; gap:0 !important;
  }
  /* ← и → — только стрелки */
  body .enl-lesson-header a.enl-lesson-nav-button.enl-lesson-nav-back,
  body .enl-lesson-header a.enl-lesson-nav-button.enl-lesson-nav-next{
    width:56px !important; background:#fff !important; font-size:0 !important; color:transparent !important;
  }
  /* по центру — «на главную» */
  body .enl-lesson-header a.enl-lesson-nav-button.enl-lesson-nav-week{
    background:#FFF2BD !important; font-size:0 !important; white-space:nowrap !important;
  }
  body .enl-lesson-header a.enl-lesson-nav-button.enl-lesson-nav-week::after{
    content:"на главную"; font-size:14px; color:#161616;
  }
  /* типографские стрелки тем же шрифтом */
  body .enl-lesson-header a.enl-lesson-nav-back:not(.enl-lesson-nav-disabled)::before,
  body .enl-lesson-header a.enl-lesson-nav-next:not(.enl-lesson-nav-disabled)::after{
    width:auto !important; height:auto !important; flex:none !important;
    background:none !important;
    font-size:20px !important; line-height:1 !important; color:#161616 !important;
    transform:translateY(-3px) !important;
  }
  body .enl-lesson-header a.enl-lesson-nav-back:not(.enl-lesson-nav-disabled)::before{ content:"←" !important; }
  body .enl-lesson-header a.enl-lesson-nav-next:not(.enl-lesson-nav-disabled)::after{ content:"→" !important; }
}
/* =========================================================
   БАННЕРЫ АРХИВА / МЕСЯЦА / НЕДЕЛИ НА ТЕЛЕФОНЕ
   заголовок · подпись · ← главная страница (без картинки)
   ========================================================= */
@media (max-width:680px){
  body .al_main-banner.archive-banner{
    display:flex !important; flex-direction:column !important;
    min-height:0 !important; padding:22px 16px 16px 20px !important;
    overflow:hidden !important; border-radius:22px !important;
  }
  body .al_main-banner.archive-banner > *{ order:2; }

  /* заголовок и подпись */
  body .al_main-banner.archive-banner .al_mb-heading{ order:1 !important; width:100% !important; padding:0 !important; }
  body .al_main-banner.archive-banner .al_mb-heading .html-content p{
    font-size:32px !important; line-height:105% !important;
  }
  body .al_main-banner.archive-banner .al_mbTarif{ order:1 !important; width:100% !important; margin:8px 0 0 !important; }

  /* картинку на телефоне не показываем */
  body .al_main-banner.archive-banner .al_mb-img{ display:none !important; }

  /* кнопки */
  body .al_main-banner.archive-banner .archive-buttons{
    order:4 !important; display:flex !important; flex-direction:row !important; align-items:center !important;
    gap:8px !important; margin:16px 0 0 !important; height:auto !important;
  }
  body .al_main-banner.archive-banner .archive-back-btn,
  body .al_main-banner.archive-banner .archive-main-btn{
    height:42px !important; min-height:42px !important; max-height:42px !important;
    margin:0 !important; padding:0 !important; border-radius:999px !important;
    box-shadow:none !important; white-space:nowrap !important;
  }
  body .al_main-banner.archive-banner .archive-back-btn{
    flex:0 0 56px !important; width:56px !important; min-width:56px !important; max-width:56px !important;
    background:#fff !important; font-size:0 !important; color:transparent !important;
  }
  body .al_main-banner.archive-banner .archive-back-btn::before{
    content:"←"; font-size:20px; line-height:1; color:#161616; transform:translateY(0px);
  }
  body .al_main-banner.archive-banner .archive-main-btn{
    flex:1 1 auto !important; width:auto !important; min-width:0 !important; max-width:none !important;
    font-size:14px !important; color:#161616 !important;
  }
}
/* =========================================================
   БАННЕР КУРСА С КНОПКОЙ «СМЕНИТЬ ТАРИФ» — телефон
   заголовок · тариф слева, фото справа · кнопка внизу,
   фото «вырастает» из-за кнопки
   ========================================================= */
@media (max-width:680px){
  body .mHeader.al_main-banner-obsh:has(.al_mbBtn),
  body .mHeader.al_main-banner-ist:has(.al_mbBtn){
    position:relative !important; display:flex !important; flex-direction:column !important;
    min-height:250px !important; padding:22px 16px 16px 20px !important;
    overflow:hidden !important; border-radius:22px !important;
  }

  /* заголовок */
  body .mHeader.al_main-banner-obsh:has(.al_mbBtn) .al_mb-heading,
  body .mHeader.al_main-banner-ist:has(.al_mbBtn) .al_mb-heading{
    position:relative !important; z-index:2 !important;
  }
  body .mHeader.al_main-banner-obsh:has(.al_mbBtn) .al_mb-heading .html-content p,
  body .mHeader.al_main-banner-ist:has(.al_mbBtn) .al_mb-heading .html-content p{
    font-size:32px !important; line-height:105% !important;
  }

  /* тариф — слева, переносы только там, где они в тексте */
  body .mHeader.al_main-banner-obsh:has(.al_mbBtn) .al_mbTarif,
  body .mHeader.al_main-banner-ist:has(.al_mbBtn) .al_mbTarif{
    position:relative !important; z-index:2 !important;
    max-width:none !important; white-space:nowrap !important;
    margin:10px 0 0 !important; font-size:15px !important; line-height:1.3 !important;
  }

  /* фото — справа, низ прячется за кнопкой */
  body .mHeader.al_main-banner-obsh:has(.al_mbBtn) .my-training-obsh-img{
    position:absolute !important; z-index:1 !important;
    right:13px !important; bottom:50px !important; left:auto !important; top:auto !important;
    width:85% !important; max-width:none !important; height:auto !important;
    margin:0 !important; transform:none !important;
  }
  /* фото истории — настраивается отдельно */
  body .mHeader.al_main-banner-ist:has(.al_mbBtn) .my-training-fast-img{
    position:absolute !important; z-index:1 !important;
    right:-8px !important; bottom:30px !important; left:auto !important; top:auto !important;
    width:100% !important; max-width:none !important; height:auto !important;
    margin:0 !important; transform:none !important;
  }

  /* фото истории: мягкие края снизу и справа вместо резкой обрезки */
  body .mHeader.al_main-banner-ist:has(.al_mbBtn) .my-training-fast-img{
    -webkit-mask-image:linear-gradient(to bottom,#000 70%,transparent 96%),
                       linear-gradient(to left,transparent 0,#000 10%) !important;
    -webkit-mask-composite:source-in !important;
    mask-image:linear-gradient(to bottom,#000 70%,transparent 96%),
               linear-gradient(to left,transparent 0,#000 10%) !important;
    mask-composite:intersect !important;
  }

  /* кнопка — внизу, поверх фото */
  body .mHeader.al_main-banner-obsh:has(.al_mbBtn) .al_mbBtn,
  body .mHeader.al_main-banner-ist:has(.al_mbBtn) .al_mbBtn{
    position:relative !important; z-index:3 !important;
    margin:auto 0 0 !important; align-self:stretch !important;
    display:flex !important; justify-content:center !important;
    width:auto !important; max-width:none !important;
    height:42px !important; min-height:42px !important; padding:0 16px !important;
    border-radius:999px !important; white-space:nowrap !important; text-align:center !important;
    font-size:13px !important;
    box-shadow:0 -4px 14px rgba(80,40,40,.12) !important;
  }
}
/* =========================================================
   ГЛАВНАЯ: без горизонтальной прокрутки на планшете;
   календарь и техподдержка — под «Моими курсами» (до 991px)
   ========================================================= */
@media (max-width:1259px){
  .gc-main-content .main-page-block > .container{
    width:auto !important; max-width:none !important;
    margin-left:0 !important; margin-right:0 !important;
    box-sizing:border-box !important;
  }
}
@media (max-width:991px){
  .enl-side-moved{
    color:#333 !important;
    display:grid !important; grid-template-columns:1fr 1fr; gap:16px 20px; align-items:start;
    width:100% !important; float:none !important; padding:0 !important; margin:8px 0 32px !important;
  }
  .enl-side-moved > *{ grid-column:1 / -1; }
  .enl-side-moved > .xdget-block:has([id$="CalendarWidget"]){ grid-column:1; grid-row:span 3; }
  .enl-side-moved > .al_support-title,
  .enl-side-moved > .al_support{ grid-column:2; }
  .enl-side-moved > .xdget-separator,
  .enl-side-moved > .empty,
  .enl-side-moved > .xdget-javascript{ display:none !important; }
  .enl-side-moved [id$="CalendarWidget"]{ max-width:none !important; width:auto !important; }
}
@media (max-width:640px){
  .enl-side-moved{ grid-template-columns:1fr; }
  .enl-side-moved > *{ grid-column:1 !important; }
}
/* «Мои курсы» на 681–1199px: карточки не залезают под календарь */
@media (min-width:681px) and (max-width:1199px){
  .enl-training-section .stream-table.enl-training-table{
    table-layout:fixed !important; width:100% !important; max-width:100% !important;
  }
  .enl-training-section--main .enl-main-course-layout{ padding-right:90px !important; }
  .enl-training-section--main .enl-main-course-title{ font-size:26px !important; }
}
/* телефон: календарь и техподдержка под «Моими курсами», одной колонкой */
@media (max-width:640px){
  .enl-side-moved{ gap:14px !important; margin:4px 0 24px !important; }
  .enl-side-moved > .xdget-block:has([id$="CalendarWidget"]){ grid-row:auto !important; }
  .enl-side-moved > .al_support-title{ margin:6px 0 0 !important; }
}
/* =========================================================
   ПЕРЕНОСЫ СЛОВ
   ========================================================= */

/* чек-листы: место под плашку справа нужно только там, где она видна.
   Пунктам без плашки — всегда; на экранах до 768px плашки скрыты у всех */
.enl-item-link:not(:has(.enl-item-tag)) .enl-item-title{
  max-width:none !important;
}
@media (max-width:768px){
  .enl-item-title{ max-width:none !important; }
}

/* названия пунктов: перенос только между словами,
   без «висячих» коротких строк */
.enl-item-title{
  overflow-wrap:break-word !important; word-break:normal !important; text-wrap:pretty;
}

/* названия файлов в уроках — перенос по слогам */
.enl-sv-ft b{
  overflow-wrap:break-word !important; word-break:normal !important;
  hyphens:auto !important; -webkit-hyphens:auto !important;
}

/* карточки уроков на странице недели — телефон */
@media (max-width:680px){
  body.enl-learning-route .enl-lesson-card,
  body.enl-hard-page .enl-lesson-card{
    grid-template-columns:minmax(0,1fr) 52px !important;
  }
  body.enl-learning-route .enl-lesson-card .enl-card-content,
  body.enl-hard-page .enl-lesson-card .enl-card-content{
    padding:14px 14px 14px 30px !important; min-width:0 !important;
  }
  body.enl-learning-route .enl-card-title,
  body.enl-hard-page .enl-card-title{
    font-size:17px !important; line-height:1.25 !important;
    overflow-wrap:break-word !important; word-break:normal !important; text-wrap:pretty;
  }
  body.enl-learning-route .enl-card-top,
  body.enl-hard-page .enl-card-top{
    flex-wrap:wrap !important; gap:6px !important; width:auto !important;
  }
}
/* прогресс по пробникам: подпись «полученные баллы» не у самого края */
@media (max-width:680px){
  .probes-progress-card{
    padding-left:16px !important; padding-right:14px !important;
  }
  .probes-progress-card .probes-chart{
    left:0 !important;
    grid-template-columns:20px minmax(0,1fr) !important;
    column-gap:6px !important;
  }
  .probes-progress-card .probes-y-title{
    left:0 !important; justify-self:center !important;
  }
}
/* окно cloudtext под кнопкой: не срезать углы у кнопок внутри */
.cloudtext-frame{
  border-radius:0 !important;
  overflow:visible !important;
  background:transparent !important;
  margin-top:8px !important;
}
/* простые списки уроков (библиотека, тренировки, лайфхаки, данетки):
   отступ сверху, чтобы первая карточка не прилипала к верху в приложении.
   Селектор длиннее нарочно: на страницах есть встроенное правило margin:0 !important */
@media (max-width:767px){
  body .xdget-lessonList.enl-simple-lessons ul.lesson-list{
    margin-top:16px !important;
  }
}
/* уроки в аккордеонах (атласы, контурные карты и т. п.) */

/* цветная плашка справа — во всю высоту и ширину своей колонки */
.enl-accordion-lesson-card .enl-accordion-lesson-side{
  width:auto !important;
  align-self:stretch !important;
  justify-self:stretch !important;
}

/* стрелка в кружке — по центру */
.enl-accordion-lesson-card .enl-accordion-lesson-arrow{
  width:28px !important; height:28px !important;
  font-size:17px !important; line-height:1 !important;
  padding:0 0 2px !important;
  box-sizing:border-box !important;
}
/* простые списки уроков (лайфхаки, документы фипи и т. п.):
   стрелка в кружке — свой шрифт и по центру */

/* для всех экранов: шрифт и выравнивание стрелки */
body .enl-simple-lessons ul.lesson-list > li > a.item-a::after{
  font-family:'Raleway',Arial,sans-serif !important;
  line-height:1 !important;
  padding:0 0 2px !important;
  box-sizing:border-box !important;
}

/* компьютер: прежние размеры кружка */
@media (min-width:768px){
  body .enl-simple-lessons ul.lesson-list > li > a.item-a::after{
    width:34px !important; height:34px !important;
    right:22px !important; font-size:20px !important;
    transform:translateY(-50%) !important;
  }
}

/* телефон и приложение */
@media (max-width:767px){
  body .enl-simple-lessons ul.lesson-list > li > a.item-a::after{
    width:28px !important; height:28px !important;
    right:13px !important; font-size:17px !important;
    transform:translateY(-14px) !important;
  }
}